package com.ciaojian.client.strategy.discount;

import com.ciaojian.client.enums.DiscountTypeEnum;
import org.springframework.beans.factory.InitializingBean;

/**
 * 优惠计算器接口
 *
 * @author oxiny
 */
public interface DiscountCalculator<T> extends InitializingBean {
    /**
     * 计算价格
     *
     * @param couponInfo 折扣信息: 直减、满减、折扣、N元购
     * @param skuPrice   原金额
     * @return 计算后的金额
     */
    Integer calculate(T couponInfo, Integer skuPrice);

    /**
     * 获取订单优惠类型
     *
     * @return /
     */
    DiscountTypeEnum getType();
}
